<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<script src="./jquery/jquery-1.12.4.min.js"></script>

<body>
    <div class="box">jquery的链式调用</div>
    <script>
        console.log($('.box'));
        // $('.box').css({ height: 700, backgroundColor: 'red' }).hide(3000).......
        /* 根本元素，jQuery对象上的方法，函数调用之后，得到的值是一个jQuery对象 */

        // 这是个函数
        var MyJq = function () { }
        // 需求如何在MyJq这函数的原型对象上添加属性和方法

        MyJq.prototype = {
            css: function () {
                console.log('设置css样式');
                return this
            },
            show: function () {
                console.log('将元素显示');
                return this;
            },
            hide: function () {
                console.log('将元素隐藏');
                return this;
            }
        }
        var myjq1 = new MyJq();
        myjq1.css().show().hide();
        // css()是一个函数，一个函数没有返回值


        // 原型对象及原型链
        // 构造函数
        function Person(name, age) {
            this.name = name;
            this.age = age;
        }
        // 构造函数Person的实例对象
        var tom = new Person('tom', 15);
        Person.prototype.eyeColor = 'black';
        console.log(tom);
        console.dir(Person);

        /* foo函数没有返回值 */
        function foo() {
            console.log('foo11');
            return 'xiaowangzi'
        }
        // 函数调用 函数执行
        // foo();
        // 函数调用，若函数内部没有return函数的返回值为undefined，函数内部有return，它的返回值就是return后的值
        var result = foo();
        console.log(result);


    </script>
</body>

</html>